import { defineStore } from 'pinia'
import request from '@/utils/request'
import {
  ApiRes,
  BannerItem,
  GoodItem,
  HotGoods,
  Brand,
  HomeProduct,
  Special,
} from '@/types/data'

export default defineStore('home', {
  state() {
    return {
      bannerList: [] as BannerItem[],
      newGoodList: [] as GoodItem[],
      hotGoodList: [] as HotGoods[],
      // 品牌数据
      brandList: [] as Brand[],

      productList: [] as HomeProduct[],

      specialList: [] as Special[],
    }
  },
  actions: {
    async getBannerList() {
      const res = await request.get<ApiRes<BannerItem[]>>('/home/banner')
      // console.log(res)
      this.bannerList = res.data.result
    },

    async getNewList() {
      // setTimeout(async () => {
      //   const res = await request.get<ApiRes<GoodItem[]>>('/home/new')
      //   // console.log(res)
      //   this.newGoodList = res.data.result
      // }, 2000)
      const res = await request.get<ApiRes<GoodItem[]>>('/home/new')
      // console.log(res)
      this.newGoodList = res.data.result
    },

    async getHotList() {
      const res = await request.get<ApiRes<HotGoods[]>>('/home/hot')
      // console.log(res)
      this.hotGoodList = res.data.result
    },

    async getBrandList() {
      // setTimeout(async () => {
      //   const res = await request.get<ApiRes<Brand[]>>('/home/brand')
      //   console.log(res)
      //   this.brandList = [...res.data.result, ...res.data.result]
      // }, 3000)
      const res = await request.get<ApiRes<Brand[]>>('/home/brand')
      console.log(res)
      this.brandList = [...res.data.result, ...res.data.result]
    },

    async getProductList() {
      const res = await request.get<ApiRes<HomeProduct[]>>('/home/goods')
      this.productList = res.data.result
    },

    async getSpecialList() {
      const res = await request.get<ApiRes<Special[]>>('/home/special')
      this.specialList = res.data.result
    },
  },
})
